<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>test1 翔哥</title>
</head>
<body>
    写一个小程序，当程序运行起来时就成为一个进程，当程序运行结束进程就会将其的退出码传递给它的父进程，我们可以通过指令 echo $? 来查看最近的一个进程结束的退出码

**作用：** 进程退出码一般来说0表示success ，非零表示failed。非零时有很多程序退出码，不同退出码代表不同的信息来反映进程退出时出错的一种可能性

**exit（）和 _exit()**
exit()  :在任何地方调用，都代表终止进程，参数是退出码！
_exit():强制终止进程，不进行进程的后续收尾工作（执行用户定义的清理函数，刷新用户级缓冲区）

**进程退出，OS做了什么？**
系统层面少了一个进程， 需要free  PCB(进程控制块) , free mm_struct(进程地址空间), free 页表和各种映射关系， 还有代码和数据

</body>
</html>